Skip to content

Comments

Add Revolut fiat payment provider#210

Closed
bobbythelobster wants to merge 2 commits intoEdgeApp:masterfrom
bobbythelobster:add-revolut-plugin
Closed

Add Revolut fiat payment provider#210
bobbythelobster wants to merge 2 commits intoEdgeApp:masterfrom
bobbythelobster:add-revolut-plugin

Conversation

@bobbythelobster
Copy link

Summary

Adds Revolut as a supported fiat payment provider to the edge-reports-server partners configuration.

Changes

  • Added revolut entry to src/demo/partners.ts
  • Type: fiat
  • Color: #191C33 (Revolut's dark navy/purple brand color)
  • Positioned alphabetically between paytrie and safello

Context

This aligns with the existing Revolut plugin support in edge-react-gui, where it's currently active for buying crypto in 40+ countries.

Testing

  • Verified entry follows the same pattern as other fiat providers
  • Confirmed alphabetical ordering
  • Validated color code matches Revolut's brand identity

## Summary
Adds Revolut as a supported fiat payment provider to edge-reports-server partners configuration.

## Changes
- Added `revolut` entry to `src/demo/partners.ts`
- Type: `fiat`
- Color: `#191C33` (Revolut's dark navy/purple brand color)
- Positioned alphabetically between `paytrie` and `safello`

## Context
This aligns with the existing Revolut plugin support in edge-react-gui, where it's currently active for buying crypto in 40+ countries.

## Testing
- Verified entry follows the same pattern as other fiat providers
- Confirmed alphabetical ordering
- Validated color code matches Revolut's brand identity

### CHANGELOG
Does this branch warrant an entry to CHANGELOG?
- [x] No

### Dependencies
None

### Description
Adds Revolut as a fiat payment provider option for the edge reports server.
@samholmes samholmes self-assigned this Feb 11, 2026
## Summary
Adds full API integration for Revolut payment provider following moonpay.ts pattern.

## Changes
- Added src/partners/revolut.ts (650+ lines)
  - Transaction querying with pagination (50 items/page, 1.5 year lookback)
  - Rate limiting with 5s retry on 429
  - Standard transaction format transformation
  - Detects: card payments, transfers, top-ups, exchanges, refunds, ATM withdrawals
  - API placeholder: TODO_CONFIGURE_API_KEY (configure via app config or env var)
- Added src/routes/v1/revolut.ts (API endpoint)
  - GET /v1/revolut/?appId=<appId>&from=<date>
  - Returns standardized transaction list
- Updated src/indexApi.ts (added revolut router)
- Updated src/demo/partners.ts (full documentation, removed simple metadata entry)

## Implementation Details
Revolut plugin follows moonpay.ts architecture:
- Query function with offset/limit pagination
- Transaction type detection (buy/sell/neutral/transfer)
- FiatPaymentType mapping for Revolut payment methods
- Error handling for 401, 403, 429, 404
- Query state persistence in settings (latestIsoDate)
- EU base currency: EUR

## API Access
Production deployment requires revolutApiKey configuration in reports_apps DB.
For development/testing, placeholder API key is used.

## Testing
- Query structure matches moonpay pattern
- Route endpoint follows REST conventions
- Transaction format transformation validates
- Comments document usage and configuration
@samholmes
Copy link
Collaborator

samholmes commented Feb 12, 2026

Replaced by #211

@samholmes samholmes closed this Feb 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants